A typical memory, such as a random access memory (RAM), accepts an address as an input and, in response, outputs one or more data values corresponding to that address as an output. A content addressable memory (CAM) operates in a different manner. A content addressable memory receives a data value as an input and outputs an indication of whether that data value is present at any address in the content addressable memory. A CAM enables comparing an input search expression (e.g., search key) to a plurality of stored entries simultaneously. Thus, determining one or more matching entries in a CAM is substantially faster than in memories such as RAM that are accessed using memory addresses. Many network devices (e.g., bridges, switches, routers, gateways, network proxies) use a CAM or a ternary CAM (TCAM) for routing operations.
The description above is presented as a general overview of related art in this field and should not be construed as an admission that any of the information it contains constitutes prior art against the present patent application.